Package edu.uky.ai.tic

This package provides the game of Tic Tac Toe and the tools for building AI players.

You should start by running Main. This program plays some number of games of Tic Tac Toe against two different kinds of bot. Initially, both bots simply choose moves at random.

Your task is to built a more intelligent bot using adversarial game tree search techniques.

To save time, reduce Main.NUMBER_OF_GAMES to 10. Then fill in the missing code from MinMaxBot. MinMax bot will expand the entire game tree before making its decision. This is possible for a game as small as Tic Tac Toe, but it would not be possible for larger games.

When you are done, change Main.getXBot() to return an instance of your new MinMax bot. Now, player X should win or tie every game, but the amount of work required to make decisions is incredibly high.

Now fill in the missing code from AlphaBetaBot. This bot uses a modified version of min max search that can prune large portions of the game tree which are irrelevant to making the best decision.

When you are done, change Main.getXBot() to return an instance of your new AlphaBeta bot. Player X should still win or tie every game, but the amount of work required to make decisions will be much lower. You should now be able to change Main.NUMBER_OF_GAMES back to 100.

  • Class Summary 
    Class Description
    Game
    Plays a game of Tic Tac Toe and measures how many moves each player considers during the game.
    Main
    Plays Main.NUMBER_OF_GAMES games of Tic Tac Toe and reports the results.